ディスクパラメータの詳細

2000/06/25

 ここではブートセクターの中の特にディスクパラメータについて解説する。BPB(BIOS Parameter Block)とも呼ばれる。ただしBPBは以下のOEM名が記録される先頭8バイトを除いたものを指すのが普通だ。

 まずはFAT16の場合のディスクパラメータを見てみよう。

[FAT16のディスクパラメータ]

offset サイズ(bytes) 内容
03 8 OEM名  
0B 2 セクターサイズ 512
0D 1 セクター数/クラスター  
0E 2 予約セクター数  
10 1 FATの数  
11 2 ルートディレクトリエントリー数  
13 2 全セクター数  
15 1 メディアDescriptor  
16 2 セクター数/FAT  
18 2 セクター数/トラック  
1A 2 ヘッド数  
1C 4 隠しセクター数  
20 4 全Bigセクター数  
24 1 ドライブID  
25 1 ダーティーフラグ  
26 1 拡張ブートサイン  
27 4 シリアル番号  
2B 11 ボリューム名  
36 8 ファイルシステムタイプ FAT16

 このパーティションのファイルシステムの各種情報盛り込まれている。この中で比較的重要なのは別名アロケーションユニットサイズとの呼ばれる「セクター数/クラスター」だろう。ボリューム名などもおなじみだ。

 IPLは基本的にこれらのデータを見て、IO.SYSなどを探して、次のブートシーケンスに進む訳だ。

 次にFAT32の場合を見てみよう。

[FAT32のディスクパラメータ]

offset サイズ(bytes) 内容
03 8 OEM名  
0B 2 セクターサイズ 512
0D 1 セクター数/クラスター  
0E 2 予約セクター数  
10 1 FATの数  
11 4 (リザーブ)  
15 1 メディアDescriptor  
16 2 セクター数/FAT  
18 2 セクター数/トラック  
1A 2 ヘッド数  
1C 4 隠しセクター数  
20 4 全Bigセクター数  
24 4 Bigセクター数/FAT  
28 2 拡張フラグ  
2A 2 ファイルシステムバージョン  
2C 4 ルートの最初のクラスター  
30 2 ファイルシステム情報セクター位置  
32 2 バックアップブートセクター位置 6
34 12 (リザーブ)  
40 1 ドライブID  
41 1 (NTのためのリザーブ)  
42 1 拡張ブートサイン  
43 4 シリアル番号  
47 11 ボリューム名  
52 8 ファイルシステムタイプ FAT32

 FAT16よりはいろいろな情報が増えているが、それ程大きな違いはない。おもしろいのはバックアップブートセクターというものだ。実はWindows98では、当該ブートセクターが壊れた場合のためにバックアップを6番セクター(先頭から7番目のセクター)に書いている。従ってWindows98が作るMBRのブートストラップローダは、もし通常のブートセクターが壊れいた場合、こちらのセクターを読み込んでブートする。

 さて、最後にNTFSのディスクパラメータを見てみよう。

[NTFSのディスクパラメータ]

offset サイズ(bytes) 内容
03 8 OEM名 NTFS
0B 2 セクターサイズ 512
0D 1 セクター数/クラスター  
0E 2 予約セクター数  
10 1 FATの数  
11 2 ルートディレクトリエントリー数  
13 2 全セクター数  
15 1 メディアDescriptor  
16 2 セクター数/FAT  
18 2 セクター数/トラック  
1A 2 ヘッド数  
1C 4 隠しセクター数  
20 4 全Bigセクター数  
24 4 未使用  
28 8 全NTFSセクター数  
30 8 MFT開始クラスター  
38 8 MFTミラー開始クラスター  
40 4 クラスター数/FRS  
44 4 クラスター数/Indexブロック  
48 4 シリアル番号  
4C 4 チェックサム  

 FATと似たようなデータもある。これはNTFSでもセクターをいくつかまとめたクラスターという概念があるので、その点が同じだからだ。しかし全く異なったものもいくつか見受けられる。MFTというのはMaster File Tableで、その名の通りFATに変わる新しい概念である。

 


戻る

テレワークならECナビ Yahoo 楽天 LINEがデータ消費ゼロで月額500円〜!
無料ホームページ 無料のクレジットカード 海外格安航空券 海外旅行保険が無料! 海外ホテル